using System;
using System.Collections.Generic;
using System.Text;
using System.CodeDom;
using NBusiness.CodeDom;

namespace NBusiness.Templates.Contracts
{
    public interface IChildRelationship : IContract
    {
        CodeTypeMember[] ChildRelationshipMembers(EntityRelationship relationship);
        CodeExpression[] DeleteChildrenExpressions(EntityRelationship relationship);
        CodeStatement PersistChildrenStatement(EntityRelationship relationship);
        CodeTypeOfExpression TypeOfChild(Entity entity);
        CodeStatement BackRelationshipAdd(EntityRelationship relationship, EntityRelationship backRelationship, out CodeTypeMember[] members);
    }
}
